[INFO] cloning repository https://github.com/Alireza29675/teamctl
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Alireza29675/teamctl" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlireza29675%2Fteamctl", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlireza29675%2Fteamctl'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 234468ebe3093efc448018273c90b1bfb9c64af0
[INFO] testing Alireza29675/teamctl against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlireza29675%2Fteamctl" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc1/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-0-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/Alireza29675/teamctl
[INFO] finished tweaking git repo https://github.com/Alireza29675/teamctl
[INFO] tweaked toml for git repo https://github.com/Alireza29675/teamctl written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Alireza29675/teamctl on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Alireza29675/teamctl already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rusqlite v0.31.0
[INFO] [stderr]   Downloaded yaml-edit v0.2.1
[INFO] [stderr]   Downloaded insta v1.47.2
[INFO] [stderr]   Downloaded ansi-to-tui v7.0.0
[INFO] [stderr]   Downloaded teloxide-core v0.10.1
[INFO] [stderr]   Downloaded erasable v1.3.0
[INFO] [stderr]   Downloaded teloxide-macros v0.8.0
[INFO] [stderr]   Downloaded rc-box v1.3.0
[INFO] [stderr]   Downloaded teloxide v0.13.0
[INFO] [stderr]   Downloaded aquamarine v0.5.0
[INFO] [stderr]   Downloaded serial2 v0.2.36
[INFO] [stderr]   Downloaded portable-pty v0.9.0
[INFO] [stderr]   Downloaded libsqlite3-sys v0.28.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cb824fc7c45f63fa2f995f055e9bc790a03b77ceb5a690c015ab1afe625383e7
[INFO] running `Command { std: "docker" "start" "-a" "cb824fc7c45f63fa2f995f055e9bc790a03b77ceb5a690c015ab1afe625383e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cb824fc7c45f63fa2f995f055e9bc790a03b77ceb5a690c015ab1afe625383e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb824fc7c45f63fa2f995f055e9bc790a03b77ceb5a690c015ab1afe625383e7", kill_on_drop: false }`
[INFO] [stdout] cb824fc7c45f63fa2f995f055e9bc790a03b77ceb5a690c015ab1afe625383e7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a3827b4c5199bd436afa31e5a484f4e992c322f37b7d035ab3aa4cd616921666
[INFO] running `Command { std: "docker" "start" "-a" "a3827b4c5199bd436afa31e5a484f4e992c322f37b7d035ab3aa4cd616921666", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling erasable v1.3.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling countme v3.0.1
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling include_dir_macros v0.7.4
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling include_dir v0.7.4
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling webpki-roots v0.25.4
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling rowan v0.16.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling rc-box v1.3.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling blake3 v1.8.5
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling yaml-edit v0.2.1
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling serial2 v0.2.36
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]    Compiling filedescriptor v0.8.3
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling teamctl v0.9.1 (/opt/rustwide/workdir/crates/teamctl)
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling dptree v0.3.0
[INFO] [stderr]    Compiling aquamarine v0.5.0
[INFO] [stderr]    Compiling teloxide-macros v0.8.0
[INFO] [stderr]    Compiling portable-pty v0.9.0
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]    Compiling serde_with_macros v1.5.2
[INFO] [stderr]    Compiling serde_with v1.14.0
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling team-core v0.9.1 (/opt/rustwide/workdir/crates/team-core)
[INFO] [stderr]    Compiling teloxide-core v0.10.1
[INFO] [stderr]    Compiling team-mcp v0.9.1 (/opt/rustwide/workdir/crates/team-mcp)
[INFO] [stderr]    Compiling teloxide v0.13.0
[INFO] [stderr]    Compiling team-bot v0.9.1 (/opt/rustwide/workdir/crates/team-bot)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 55s
[INFO] running `Command { std: "docker" "inspect" "a3827b4c5199bd436afa31e5a484f4e992c322f37b7d035ab3aa4cd616921666", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a3827b4c5199bd436afa31e5a484f4e992c322f37b7d035ab3aa4cd616921666", kill_on_drop: false }`
[INFO] [stdout] a3827b4c5199bd436afa31e5a484f4e992c322f37b7d035ab3aa4cd616921666
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5d0c4ed31e10b996eee9f07151a4393d44f81be280576559b2abcc90188a02d2
[INFO] running `Command { std: "docker" "start" "-a" "5d0c4ed31e10b996eee9f07151a4393d44f81be280576559b2abcc90188a02d2", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling portable-pty v0.9.0
[INFO] [stderr]    Compiling team-core v0.9.1 (/opt/rustwide/workdir/crates/team-core)
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling team-mcp v0.9.1 (/opt/rustwide/workdir/crates/team-mcp)
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling teamctl v0.9.1 (/opt/rustwide/workdir/crates/teamctl)
[INFO] [stderr]    Compiling team-bot v0.9.1 (/opt/rustwide/workdir/crates/team-bot)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 37.47s
[INFO] running `Command { std: "docker" "inspect" "5d0c4ed31e10b996eee9f07151a4393d44f81be280576559b2abcc90188a02d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d0c4ed31e10b996eee9f07151a4393d44f81be280576559b2abcc90188a02d2", kill_on_drop: false }`
[INFO] [stdout] 5d0c4ed31e10b996eee9f07151a4393d44f81be280576559b2abcc90188a02d2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0b1d97c422bad0789ad97c04bdbd6e6c6f2cca67b3dd261c11650547dcd4acf4
[INFO] running `Command { std: "docker" "start" "-a" "0b1d97c422bad0789ad97c04bdbd6e6c6f2cca67b3dd261c11650547dcd4acf4", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.57s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/team_bot-944612e6140f1eb6)
[INFO] [stdout] 
[INFO] [stdout] running 123 tests
[INFO] [stdout] test tests::approval_keyboard_empty_options_is_binary_back_compat ... ok
[INFO] [stdout] test tests::approval_outcome_line_handles_unicode_first_name ... ok
[INFO] [stdout] test tests::approval_outcome_line_uses_approver_first_name ... ok
[INFO] [stdout] test tests::approval_keyboard_multi_renders_options_then_cancel ... ok
[INFO] [stdout] test tests::cc_slash_command_descriptions_satisfy_telegram_constraints ... ok
[INFO] [stdout] test tests::bounded_writer_errors_when_chunk_would_exceed_max ... ok
[INFO] [stdout] test tests::bounded_writer_passes_through_when_under_max ... ok
[INFO] [stdout] test tests::bounded_writer_errors_on_single_oversize_chunk ... ok
[INFO] [stdout] test tests::bounded_writer_allows_exactly_max ... ok
[INFO] [stdout] test tests::classify_kind_treats_null_and_empty_as_text ... ok
[INFO] [stdout] test tests::classify_kind_unknown_fallback_unchanged_for_typing_lookalikes ... ok
[INFO] [stdout] test tests::classify_kind_unknown_fallback_unchanged_for_other_strings ... ok
[INFO] [stdout] test tests::classify_kind_routes_image_and_file ... ok
[INFO] [stdout] test tests::cc_slash_command_names_satisfy_telegram_constraints ... ok
[INFO] [stdout] test tests::commands_for_runtime_returns_empty_for_unscoped_bot ... ok
[INFO] [stdout] test tests::commands_for_runtime_returns_full_cc_list_for_claude_code ... ok
[INFO] [stdout] test tests::classify_kind_falls_back_for_unknown_kinds ... ok
[INFO] [stdout] test tests::classify_kind_routes_reaction ... ok
[INFO] [stdout] test tests::decision_and_cancel_outcome_lines_name_the_chooser ... ok
[INFO] [stdout] test tests::extend_typing_window_inserts_new_entry_with_deadline ... ok
[INFO] [stdout] test tests::extend_typing_window_resets_existing_deadline_on_second_call ... ok
[INFO] [stdout] test tests::commands_for_runtime_returns_empty_for_codex ... ok
[INFO] [stdout] test tests::commands_for_runtime_returns_empty_for_gemini ... ok
[INFO] [stdout] test tests::commands_for_runtime_returns_empty_for_unknown_runtime ... ok
[INFO] [stdout] test tests::classify_kind_routes_typing ... ok
[INFO] [stdout] test tests::extension_for_document_falls_back_to_mime_when_filename_missing ... ok
[INFO] [stdout] test tests::decode_options_handles_null_and_garbage ... ok
[INFO] [stdout] test tests::clear_typing_window_removes_present_entry_and_reports_true ... ok
[INFO] [stdout] test tests::extension_for_document_rejects_funky_extensions ... ok
[INFO] [stdout] test tests::extension_from_mime_covers_canonical_types ... ok
[INFO] [stdout] test tests::extension_from_mime_falls_back_to_bin_for_unknown ... ok
[INFO] [stdout] test tests::clear_typing_window_returns_false_when_chat_not_tracked ... ok
[INFO] [stdout] test tests::extension_for_document_prefers_filename_extension ... ok
[INFO] [stdout] test tests::fence_marker_admits_dash_and_underscore_in_lang ... ok
[INFO] [stdout] test tests::fence_marker_takes_leading_alphanumeric_dash_underscore_run_as_lang ... ok
[INFO] [stdout] test tests::fence_marker_truncates_lang_at_non_ascii ... ok
[INFO] [stdout] test tests::fence_marker_truncates_lang_at_other_punctuation ... ok
[INFO] [stdout] test tests::fence_marker_truncates_lang_at_quote_for_attribute_injection_safety ... ok
[INFO] [stdout] test tests::help_lists_advanced_commands_for_scoped_bot ... ok
[INFO] [stdout] test tests::help_lists_dm_and_pending_for_unscoped_bot ... ok
[INFO] [stdout] test tests::hitl_card_text_format_pins_agent_then_action_then_summary ... ok
[INFO] [stdout] test tests::html_escape_str_escapes_the_three_html_specials_only ... ok
[INFO] [stdout] test tests::inbound_media_path_composes_root_project_rowid_extension ... ok
[INFO] [stdout] test tests::input_file_from_unknown_source_returns_none ... ok
[INFO] [stdout] test tests::input_file_from_path_and_url_both_construct ... ok
[INFO] [stdout] test tests::map_voice_outcome_failed_yields_no_inbox_row_and_surfaces_error ... ok
[INFO] [stdout] test tests::map_voice_outcome_ok_yields_quoted_reply_and_prefixed_inbox_row ... ok
[INFO] [stdout] test tests::map_voice_outcome_skipped_yields_no_inbox_row ... ok
[INFO] [stdout] test tests::max_download_bytes_strictly_exceeds_max_voice_bytes ... ok
[INFO] [stdout] test tests::media_error_payload_carries_verbose_error_and_optional_caption ... ok
[INFO] [stdout] test tests::media_size_mid_reject_carries_kind_and_distinguishes ... ok
[INFO] [stdout] test tests::media_size_pre_reject_carries_kind_and_names_both_numbers ... ok
[INFO] [stdout] test tests::media_success_payload_includes_caption_when_present ... ok
[INFO] [stdout] test tests::media_success_payload_includes_path_mime_size_and_omits_empty_caption ... ok
[INFO] [stdout] test tests::parse_callback_accepts_all_four_verbs ... ok
[INFO] [stdout] test tests::parse_callback_rejects_malformed ... ok
[INFO] [stdout] test tests::parse_payload_extracts_source_value_and_caption ... ok
[INFO] [stdout] test tests::parse_payload_handles_missing_caption ... ok
[INFO] [stdout] test tests::parse_payload_returns_none_on_garbage ... ok
[INFO] [stdout] test tests::parse_reaction_payload_extracts_telegram_msg_id_and_emoji ... ok
[INFO] [stdout] test tests::parse_reaction_payload_returns_none_on_missing_fields ... ok
[INFO] [stdout] test tests::parse_reaction_payload_returns_none_on_wrong_types ... ok
[INFO] [stdout] test tests::peel_readnow_is_case_sensitive ... ok
[INFO] [stdout] test tests::bounded_writer_aborts_mid_stream_on_tokio_fs_file_without_excess_disk_bytes ... ok
[INFO] [stdout] test tests::peel_readnow_passes_through_when_prefix_absent ... ok
[INFO] [stdout] test tests::peel_readnow_requires_single_space_separator ... ok
[INFO] [stdout] test tests::peel_readnow_strips_prefix_when_present ... ok
[INFO] [stdout] test tests::peel_readnow_with_empty_body_after_prefix ... ok
[INFO] [stdout] test tests::refresh_typing_windows_drops_expired_and_returns_active ... ok
[INFO] [stdout] test tests::render_html_escapes_inside_inline_code ... ok
[INFO] [stdout] test tests::render_html_escapes_lt_gt_amp_in_raw_text ... ok
[INFO] [stdout] test tests::render_html_fenced_block_drops_injected_quote_in_lang_tag ... ok
[INFO] [stdout] test tests::render_html_fenced_block_no_language ... ok
[INFO] [stdout] test tests::render_html_fenced_block_strips_trailing_lang_garbage ... ok
[INFO] [stdout] test tests::render_html_fenced_block_with_language_tag ... ok
[INFO] [stdout] test tests::render_html_inline_code_is_not_re_parsed ... ok
[INFO] [stdout] test tests::render_html_leaves_single_underscore_alone ... ok
[INFO] [stdout] test tests::render_html_paired_bold_emphasis ... ok
[INFO] [stdout] test tests::render_html_fenced_block_escapes_html_inside ... ok
[INFO] [stdout] test tests::render_html_paired_italic_and_inline_code ... ok
[INFO] [stdout] test tests::render_html_pairing_is_per_line ... ok
[INFO] [stdout] test tests::render_html_preserves_emoji_and_converts_inline ... ok
[INFO] [stdout] test tests::render_html_translates_list_bullets ... ok
[INFO] [stdout] test tests::refresh_typing_windows_returns_empty_on_empty_map ... ok
[INFO] [stdout] test tests::render_html_unmatched_fence_falls_through_as_normal_line ... ok
[INFO] [stdout] test tests::reply_parameters_for_returns_none_when_telegram_msg_id_is_none ... ok
[INFO] [stdout] test tests::reply_parameters_for_returns_some_when_telegram_msg_id_is_set ... ok
[INFO] [stdout] test tests::reply_parameters_for_safely_casts_within_i32_range ... ok
[INFO] [stdout] test tests::render_html_unmatched_delimiters_pass_through ... ok
[INFO] [stdout] test tests::agent_runtime_returns_runtime_when_runtime_varies ... ok
[INFO] [stdout] test tests::slash_outcome_honours_custom_tmux_prefix ... ok
[INFO] [stdout] test tests::slash_outcome_passes_through_for_claude_code_runtime ... ok
[INFO] [stdout] test tests::agent_runtime_returns_none_for_unknown_agent ... ok
[INFO] [stdout] test tests::slash_outcome_rejects_gemini_runtime_with_named_runtime ... ok
[INFO] [stdout] test tests::slash_outcome_rejects_malformed_manager_id ... ok
[INFO] [stdout] test tests::agent_runtime_returns_runtime_for_known_agent ... ok
[INFO] [stdout] test tests::start_greeting_is_one_liner_using_manager_id_fallback ... ok
[INFO] [stdout] test tests::start_greeting_prefers_display_name ... ok
[INFO] [stdout] test tests::start_greeting_unscoped_points_to_help ... ok
[INFO] [stdout] test tests::tmux_send_keys_argv_passes_body_verbatim_no_quote_munging ... ok
[INFO] [stdout] test tests::tmux_send_keys_argv_pins_send_keys_target_body_enter_shape ... ok
[INFO] [stdout] test tests::manager_of_resolves_reports_to_for_a_worker ... ok
[INFO] [stdout] test tests::manager_of_returns_none_for_unknown_agent ... ok
[INFO] [stdout] test tests::live_tap_keeps_existing_delivered_at_unchanged ... ok
[INFO] [stdout] test tests::live_tap_on_pending_flips_status_and_delivered_at ... ok
[INFO] [stdout] test tests::voice_inbox_prefix_matches_issue_spec ... ok
[INFO] [stdout] test tests::voice_path_mid_reject_names_both_numbers_and_distinguishes ... ok
[INFO] [stdout] test tests::manager_of_returns_self_for_a_manager ... ok
[INFO] [stdout] test tests::outbound_select_returns_kind_and_payload_for_structured_rows ... ok
[INFO] [stdout] test tests::placeholder_then_success_update_round_trip ... ok
[INFO] [stdout] test tests::outbound_select_returns_null_kind_for_legacy_text_rows ... ok
[INFO] [stdout] test tests::voice_size_pre_reject_names_both_numbers ... ok
[INFO] [stdout] test tests::voice_stt_missing_reply_carries_operator_actionable_hints ... ok
[INFO] [stdout] test tests::outbound_select_returns_telegram_msg_id_when_set_for_threaded_rows ... ok
[INFO] [stdout] test tests::reply_routes_only_to_its_senders_bot ... ok
[INFO] [stdout] test tests::placeholder_then_error_update_writes_media_error_kind ... ok
[INFO] [stdout] test tests::scoped_bot_with_unknown_agent_falls_back_to_self_routing ... ok
[INFO] [stdout] test tests::scoped_bot_routes_only_its_managers_chain ... ok
[INFO] [stdout] test tests::stale_tap_on_undeliverable_does_not_flip_delivered_at ... ok
[INFO] [stdout] test tests::update_message_kind_refuses_system_and_leaves_row_untouched ... ok
[INFO] [stdout] test tests::unscoped_bot_routes_every_approval ... ok
[INFO] [stdout] test tests::slash_outcome_rejects_codex_runtime_with_named_runtime ... ok
[INFO] [stdout] test tests::update_message_kind_writes_legitimate_media_kinds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 123 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/team_core-d51e8a58f80b1e24)
[INFO] [stdout] 
[INFO] [stdout] running 174 tests
[INFO] [stdout] test attachments::tests::scanner_clean_passes_through ... ok
[INFO] [stdout] test attachments::tests::file_above_size_cap_is_rejected_before_read ... ok
[INFO] [stdout] test attachments::tests::audit_no_op_when_path_unset ... ok
[INFO] [stdout] test attachments::tests::human_message_avoids_markdown_chars ... ok
[INFO] [stdout] test attachments::tests::empty_allowed_roots_returns_no_allowed_roots ... ok
[INFO] [stdout] test attachments::tests::is_within_any_root_handles_descendant_and_equal_paths ... ok
[INFO] [stdout] test attachments::tests::happy_path_returns_bytes_unmodified ... ok
[INFO] [stdout] test attachments::tests::disabled_short_circuits_before_any_filesystem_work ... ok
[INFO] [stdout] test attachments::tests::truncate_for_reject_caps_long_strings ... ok
[INFO] [stdout] test attachments::tests::truncate_for_reject_passes_short_strings_through ... ok
[INFO] [stdout] test attachments::tests::scanner_configured_but_caller_passes_none_returns_scanner_not_provided ... ok
[INFO] [stdout] test attachments::tests::check_and_read_with_metadata_returns_blake3_and_size ... ok
[INFO] [stdout] test attachments::tests::scanner_reject_blocks_read ... ok
[INFO] [stdout] test attachments::tests::audit_appends_jsonl_lines ... ok
[INFO] [stdout] test attachments::tests::unresolvable_path_returns_path_unresolvable ... ok
[INFO] [stdout] test attachments::tests::sweep_expired_drops_stale_files_and_returns_count ... ok
[INFO] [stdout] test attachments::tests::real_scanner_for_spec_clean_path_returns_clean ... ok
[INFO] [stdout] test attachments::tests::stage_to_tempfile_is_idempotent_for_identical_content ... ok
[INFO] [stdout] test attachments::tests::sweep_expired_returns_zero_when_dir_missing ... ok
[INFO] [stdout] test compose::tests::channel_members_all_expands ... ok
[INFO] [stdout] test compose::tests::channel_members_explicit_checks_list ... ok
[INFO] [stdout] test compose::tests::discover_returns_first_dot_team_walking_up ... ok
[INFO] [stdout] test compose::tests::effort_renders_to_lowercase_string ... ok
[INFO] [stdout] test attachments::tests::path_outside_allowed_roots_is_rejected ... ok
[INFO] [stdout] test compose::tests::agent_telegram_block_parses_under_interfaces ... ok
[INFO] [stdout] test attachments::tests::stage_to_tempfile_writes_and_returns_content_addressed_path ... ok
[INFO] [stdout] test attachments::tests::scanner_only_runs_after_path_and_size_pass ... ok
[INFO] [stdout] test compose::tests::effort_unknown_value_is_rejected ... ok
[INFO] [stdout] test compose::tests::effort_parses_all_five_levels ... ok
[INFO] [stdout] test compose::tests::image_model_missing_required_fields_rejected ... ok
[INFO] [stdout] test compose::tests::discover_no_longer_falls_back_to_flat_layout ... ok
[INFO] [stdout] test compose::tests::discover_errors_when_nothing_found ... ok
[INFO] [stdout] test compose::tests::load_hard_errors_on_non_two_integer_version ... ok
[INFO] [stdout] test attachments::tests::real_scanner_for_spec_nonzero_exit_returns_rejected ... ok
[INFO] [stdout] test compose::tests::agent_telegram_block_parses_speech_to_text_without_language ... ok
[INFO] [stdout] test compose::tests::profile_picture_fallback_unknown_value_rejected ... ok
[INFO] [stdout] test compose::tests::profile_picture_image_model_optional_with_initials_fallback ... ok
[INFO] [stdout] test compose::tests::project_telegram_block_parses_manager_bot_only ... ok
[INFO] [stdout] test compose::tests::project_without_interfaces_block_parses_unchanged ... ok
[INFO] [stdout] test compose::tests::role_prompt_paths_returns_declared_order ... ok
[INFO] [stdout] test compose::tests::role_prompt_parses_single_string_form ... ok
[INFO] [stdout] test compose::tests::schema_version_accepts_semver_string ... ok
[INFO] [stdout] test compose::tests::load_leaves_canonical_semver_file_untouched ... ok
[INFO] [stdout] test compose::tests::schema_version_accepts_arbitrary_semver_string_for_later_validation ... ok
[INFO] [stdout] test compose::tests::manager_bot_missing_token_env_rejected ... ok
[INFO] [stdout] test mailbox::tests::is_privileged_kind_false_for_ordinary_kinds ... ok
[INFO] [stdout] test compose::tests::role_prompt_parses_list_form ... ok
[INFO] [stdout] test compose::tests::project_telegram_block_parses_under_interfaces ... ok
[INFO] [stdout] test compose::tests::load_rewrites_legacy_version_two_in_file_and_in_memory ... ok
[INFO] [stdout] test compose::tests::schema_version_coerces_legacy_integer_two ... ok
[INFO] [stdout] test compose::tests::profile_picture_fallback_defaults_to_initials_when_omitted ... ok
[INFO] [stdout] test compose::tests::schema_version_rejects_other_integers ... ok
[INFO] [stdout] test mailbox::tests::privileged_kind_const_is_system ... ok
[INFO] [stdout] test mailbox::tests::is_privileged_kind_true_only_for_system ... ok
[INFO] [stdout] test compose::tests::schema_version_rejects_non_string_non_int_shapes ... ok
[INFO] [stdout] test compose::tests::discover_prefers_dot_team ... ok
[INFO] [stdout] test render::tests::claude_settings_present_for_claude_code ... ok
[INFO] [stdout] test render::tests::claude_settings_pre_trust_all_project_mcp_servers ... ok
[INFO] [stdout] test render::tests::env_emits_claude_agent_scope_for_claude_code ... ok
[INFO] [stdout] test render::tests::claude_settings_absent_for_non_claude_runtimes ... ok
[INFO] [stdout] test render::tests::env_contains_agent_id_and_mailbox ... ok
[INFO] [stdout] test render::tests::default_hooks_are_deny_plus_heartbeat_buckets ... ok
[INFO] [stdout] test render::tests::declared_hook_merges_alongside_deny_hook ... ok
[INFO] [stdout] test render::tests::env_emits_claude_agents_json_for_claude_code ... ok
[INFO] [stdout] test render::tests::env_emits_claude_session_id_and_name_for_claude_code_runtime ... ok
[INFO] [stdout] test render::tests::env_emits_claude_settings_path_for_claude_code ... ok
[INFO] [stdout] test render::tests::declared_hooks_noop_on_non_claude_runtime ... ok
[INFO] [stdout] test render::tests::env_omits_claude_agent_scope_for_non_claude_runtimes ... ok
[INFO] [stdout] test render::tests::declared_hook_without_matcher_opens_new_event_bucket ... ok
[INFO] [stdout] test render::tests::env_omits_claude_session_vars_for_non_claude_runtimes ... ok
[INFO] [stdout] test render::tests::env_emits_effort_when_set ... ok
[INFO] [stdout] test render::tests::env_omits_claude_settings_for_non_claude_runtimes ... ok
[INFO] [stdout] test render::tests::env_pins_teamctl_root_to_compose_root ... ok
[INFO] [stdout] test render::tests::env_omits_effort_when_unset ... ok
[INFO] [stdout] test render::tests::env_points_at_source_for_single_role_prompt ... ok
[INFO] [stdout] test render::tests::env_points_at_concat_path_for_multi_role_prompt ... ok
[INFO] [stdout] test render::tests::heartbeat_hooks_touch_and_clear_the_marker ... ok
[INFO] [stdout] test render::tests::mcp_json_parses_back ... ok
[INFO] [stdout] test render::tests::mcp_json_includes_declared_servers_alongside_team ... ok
[INFO] [stdout] test render::tests::mcp_json_threads_tmux_prefix_from_compose ... ok
[INFO] [stdout] test render::tests::mcp_json_unchanged_when_no_servers_declared ... ok
[INFO] [stdout] test render::tests::mcp_json_team_server_is_non_clobberable ... ok
[INFO] [stdout] test render::tests::mcp_json_skips_declared_servers_on_runtime_without_mcp_support ... ok
[INFO] [stdout] test render::tests::render_subagents_errors_on_missing_source ... ok
[INFO] [stdout] test render::tests::render_subagents_builds_agents_json_from_frontmatter ... ok
[INFO] [stdout] test render::tests::render_subagents_errors_on_unterminated_frontmatter ... ok
[INFO] [stdout] test render::tests::render_subagents_ignored_on_non_claude_runtime ... ok
[INFO] [stdout] test render::tests::render_subagents_none_when_empty ... ok
[INFO] [stdout] test render::tests::stop_failure_rate_limit_hook_records_a_hit ... ok
[INFO] [stdout] test render::tests::session_start_hook_runs_the_boot_script ... ok
[INFO] [stdout] test render::tests::render_subagents_isolates_per_agent ... ok
[INFO] [stdout] test render::tests::render_subagents_name_falls_back_to_file_stem ... ok
[INFO] [stdout] test render::tests::write_agent_skills_ignored_on_non_claude_runtime ... ok
[INFO] [stdout] test render::tests::render_subagents_supports_yaml_list_tools ... ok
[INFO] [stdout] test render::tests::write_role_prompt_concat_errors_on_missing_source ... ok
[INFO] [stdout] test render::tests::write_role_prompt_concat_is_noop_for_single ... ok
[INFO] [stdout] test render::tests::write_agent_skills_clear_stale_preserves_source ... ok
[INFO] [stdout] test session::tests::derived_uuid_is_v5_and_uses_namespace ... ok
[INFO] [stdout] test session::tests::different_agents_yield_different_uuids ... ok
[INFO] [stdout] test render::tests::write_subagents_json_writes_then_clears_stale ... ok
[INFO] [stdout] test render::tests::write_role_prompt_concat_reflects_source_edits ... ok
[INFO] [stdout] test session::tests::freshen_is_noop_when_projects_dir_absent ... ok
[INFO] [stdout] test runtimes::tests::embedded_defaults_parse ... ok
[INFO] [stdout] test render::tests::write_agent_skills_materializes_symlinks ... ok
[INFO] [stdout] test session::tests::freshen_moves_existing_session_aside ... ok
[INFO] [stdout] test runtimes::tests::user_file_can_add_new_runtime ... ok
[INFO] [stdout] test session::tests::different_projects_yield_different_uuids ... ok
[INFO] [stdout] test session::tests::namespace_constant_is_stable ... ok
[INFO] [stdout] test session::tests::same_inputs_yield_same_uuid ... ok
[INFO] [stdout] test session::tests::session_name_format_is_canonical ... ok
[INFO] [stdout] test supervisor::drain_tests::drain_poll_interval_default_is_250ms ... ok
[INFO] [stdout] test supervisor::drain_tests::poll_zero_timeout_only_checks_once_then_kills ... ok
[INFO] [stdout] test supervisor::drain_tests::drain_with_zero_timeout_returns_timed_out_killed_and_calls_down ... ok
[INFO] [stdout] test session::tests::freshen_only_touches_the_session_jsonl ... ok
[INFO] [stdout] test session::tests::freshen_is_noop_when_no_matching_session ... ok
[INFO] [stdout] test runtimes::tests::load_nonexistent_returns_embedded_defaults ... ok
[INFO] [stdout] test runtimes::tests::user_file_overrides_embedded_default ... ok
[INFO] [stdout] test supervisor::env_harden_tests::env_assignments_missing_file_is_empty_not_error ... ok
[INFO] [stdout] test supervisor::env_harden_tests::env_assignments_keeps_lines_verbatim_skips_blank_and_no_eq ... ok
[INFO] [stdout] test supervisor::env_harden_tests::build_up_command_empty_env_has_no_stray_token ... ok
[INFO] [stdout] test supervisor::drain_tests::poll_returns_graceful_when_stopped_observed_in_time ... ok
[INFO] [stdout] test supervisor::shlex::tests::quotes_plain_path ... ok
[INFO] [stdout] test render::tests::write_role_prompt_concat_joins_in_declared_order ... ok
[INFO] [stdout] test supervisor::shlex::tests::escapes_embedded_single_quote ... ok
[INFO] [stdout] test compose::tests::agent_defaults_are_stable ... ok
[INFO] [stdout] test compose::tests::agent_telegram_block_parses_speech_to_text ... ok
[INFO] [stdout] test attachments::tests::audit_creates_parent_dir_on_first_write ... ok
[INFO] [stdout] test supervisor::env_harden_tests::build_up_command_quotes_each_token_and_has_no_cat ... ok
[INFO] [stdout] test validate::tests::declared_mcp_server_named_team_flags ... ok
[INFO] [stdout] test validate::tests::display_name_at_max_length_validates ... ok
[INFO] [stdout] test validate::tests::display_name_counts_chars_not_bytes ... ok
[INFO] [stdout] test validate::tests::declared_mcp_server_with_normal_name_validates ... ok
[INFO] [stdout] test validate::tests::clean_compose_validates ... ok
[INFO] [stdout] test validate::tests::display_name_above_max_length_flags ... ok
[INFO] [stdout] test validate::tests::is_valid_id_accepts_existing_id_shapes ... ok
[INFO] [stdout] test validate::tests::drain_timeout_zero_is_valid ... ok
[INFO] [stdout] test validate::tests::is_valid_id_rejects_colon_as_reserved_separator ... ok
[INFO] [stdout] test validate::tests::is_valid_id_rejects_empty_and_control_chars ... ok
[INFO] [stdout] test validate::tests::is_valid_id_rejects_non_ascii ... ok
[INFO] [stdout] test validate::tests::is_valid_id_rejects_shell_metacharacter_class ... ok
[INFO] [stdout] test supervisor::drain_tests::drain_poll_interval_override_is_used_by_orchestrator ... ok
[INFO] [stdout] test supervisor::drain_tests::poll_falls_through_to_kill_when_agent_never_stops ... ok
[INFO] [stdout] test validate::tests::dm_to_unknown_agent_flags ... ok
[INFO] [stdout] test validate::tests::populated_display_name_validates ... ok
[INFO] [stdout] test validate::tests::project_id_with_shell_metacharacters_flags ... ok
[INFO] [stdout] test validate::tests::empty_role_prompt_list_flags ... ok
[INFO] [stdout] test validate::tests::populated_role_prompt_list_validates ... ok
[INFO] [stdout] test validate::tests::bare_two_string_flags_too ... ok
[INFO] [stdout] test validate::tests::manager_id_with_shell_metacharacters_flags ... ok
[INFO] [stdout] test render::tests::write_agent_skills_isolates_per_agent ... ok
[INFO] [stdout] test validate::tests::project_id_with_reserved_colon_flags ... ok
[INFO] [stdout] test validate::tests::malformed_semver_string_flags ... ok
[INFO] [stdout] test validate::tests::clean_compose_passes_id_charset ... ok
[INFO] [stdout] test validate::tests::blank_display_name_flags ... ok
[INFO] [stdout] test validate::tests::empty_role_prompt_string_flags ... ok
[INFO] [stdout] test validate::tests::drain_timeout_above_600s_flags ... ok
[INFO] [stdout] test validate::tests::single_role_prompt_validates ... ok
[INFO] [stdout] test validate::tests::unknown_broker_flags ... ok
[INFO] [stdout] test validate::tests::whitespace_only_display_name_flags_blank ... ok
[INFO] [stdout] test yaml_edit::tests::round_trip_preserves_byte_for_byte ... ok
[INFO] [stdout] test yaml_edit::tests::replace_existing_leaf_nests_values_under_it ... ok
[INFO] [stdout] test validate::tests::valid_semver_string_validates ... ok
[INFO] [stdout] test yaml_edit::tests::save_does_not_strip_existing_comments ... ok
[INFO] [stdout] test validate::tests::worker_id_with_shell_metacharacters_flags ... ok
[INFO] [stdout] test yaml_edit::tests::set_top_level_scalar_is_idempotent ... ok
[INFO] [stdout] test supervisor::drain_tests::drain_with_graceful_stop_does_not_call_down ... ok
[INFO] [stdout] test yaml_edit::tests::set_top_level_scalar_replaces_integer_with_quoted_string ... ok
[INFO] [stdout] test yaml_edit::tests::set_top_level_scalar_errors_on_missing_key ... ok
[INFO] [stdout] test yaml_edit::tests::mutation_preserves_comments ... ok
[INFO] [stdout] test supervisor::env_harden_tests::env_values_round_trip_through_real_shell ... ok
[INFO] [stdout] test yaml_edit::tests::set_top_level_scalar_only_touches_top_level_key ... ok
[INFO] [stdout] test yaml_edit::tests::idempotent_replace_preserves_siblings ... ok
[INFO] [stdout] test validate::tests::semver_with_prerelease_and_build_metadata_validates ... ok
[INFO] [stdout] test attachments::tests::real_scanner_for_spec_timeout_returns_rejected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 174 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.51s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/team_mcp-370fb983e0991d30)
[INFO] [stdout] 
[INFO] [stdout] running 65 tests
[INFO] [stdout] test store::tests::send_dm_kind_non_system_kind_unaffected_by_allowlist ... ok
[INFO] [stdout] test store::tests::inbox_peek_surfaces_kind_and_payload_for_structured_rows ... ok
[INFO] [stdout] test store::tests::inbox_peek_surfaces_system_kind ... ok
[INFO] [stdout] test store::tests::send_dm_kind_persists_kind_and_payload ... ok
[INFO] [stdout] test store::tests::request_approval_persists_options_json ... ok
[INFO] [stdout] test store::tests::send_dm_kind_system_from_agent_rejected ... ok
[INFO] [stdout] test tools::tests::bot_reaction_allowlist_accepts_canonical_set_and_rejects_pizza ... ok
[INFO] [stdout] test tools::tests::compact_self_argv_uses_enter_keyword_after_compact_body ... ok
[INFO] [stdout] test store::tests::inbox_peek_surfaces_telegram_msg_id_field ... ok
[INFO] [stdout] test store::tests::send_dm_kind_system_from_user_rejected ... ok
[INFO] [stdout] test store::tests::send_dm_kind_system_from_system_sender_ok ... ok
[INFO] [stdout] test tools::tests::image_extension_allowlist_accepts_canonical_set_and_rejects_others ... ok
[INFO] [stdout] test tools::tests::pane_session_matches_supervisor_canonical_formula ... ok
[INFO] [stdout] test tools::tests::pane_session_rejects_malformed_agent_id ... ok
[INFO] [stdout] test store::tests::roundtrip_dm_and_ack ... ok
[INFO] [stdout] test store::tests::decide_approval_records_chosen_value_and_is_idempotent ... ok
[INFO] [stdout] test store::tests::request_approval_binary_leaves_options_json_null ... ok
[INFO] [stdout] test store::tests::decide_approval_binary_path_leaves_value_null ... ok
[INFO] [stdout] test store::tests::legacy_send_dm_leaves_kind_and_payload_null ... ok
[INFO] [stdout] test store::tests::inbox_peek_returns_null_kind_for_legacy_text_rows ... ok
[INFO] [stdout] test store::tests::send_dm_kind_resolves_mailbox_id_to_telegram_msg_id ... ok
[INFO] [stdout] test store::tests::send_dm_leaves_telegram_msg_id_null_when_omitted ... ok
[INFO] [stdout] test store::tests::send_dm_resolution_misses_when_mailbox_id_does_not_exist ... ok
[INFO] [stdout] test store::tests::upsert_agent_is_idempotent ... ok
[INFO] [stdout] test tools::tests::react_to_user_non_manager_is_rejected_before_validation ... ok
[INFO] [stdout] test store::tests::send_dm_resolves_mailbox_id_to_telegram_msg_id ... ok
[INFO] [stdout] test store::tests::send_dm_resolution_misses_when_row_has_no_telegram_msg_id ... ok
[INFO] [stdout] test tools::tests::compact_self_non_claude_code_runtime_is_rejected ... ok
[INFO] [stdout] test tools::tests::compact_self_dispatches_for_worker_too ... ok
[INFO] [stdout] test tools::tests::compact_self_dispatches_for_claude_code_manager ... ok
[INFO] [stdout] test tools::tests::react_to_user_rejects_out_of_allowlist_emoji ... ok
[INFO] [stdout] test tools::tests::react_to_user_persists_kind_and_structured_payload ... ok
[INFO] [stdout] test tools::tests::react_to_user_rejects_missing_telegram_msg_id ... ok
[INFO] [stdout] test tools::tests::read_attachment_disabled_returns_reject_without_filesystem_touch ... ok
[INFO] [stdout] test tools::tests::react_to_user_returns_message_id_and_emoji_in_response ... ok
[INFO] [stdout] test tools::tests::read_attachment_audit_log_records_accept_and_reject ... ok
[INFO] [stdout] test tools::tests::read_attachment_happy_path_stages_and_returns_path ... ok
[INFO] [stdout] test tools::tests::read_attachment_missing_path_arg_is_rejected_at_schema ... ok
[INFO] [stdout] test tools::tests::reply_to_user_image_url_inserts_structured_row ... ok
[INFO] [stdout] test tools::tests::reply_to_user_rejects_empty_call ... ok
[INFO] [stdout] test tools::tests::reply_to_user_accepts_text_at_exactly_the_limit ... ok
[INFO] [stdout] test tools::tests::read_attachment_reject_writes_telegram_and_wire_rows ... ok
[INFO] [stdout] test tools::tests::reply_to_user_rejects_oversize_file_caption ... ok
[INFO] [stdout] test tools::tests::reply_to_user_non_manager_is_rejected_before_validation ... ok
[INFO] [stdout] test tools::tests::reply_to_user_image_path_round_trip ... ok
[INFO] [stdout] test tools::tests::reply_to_user_rejects_text_over_limit_with_actionable_error ... ok
[INFO] [stdout] test tools::tests::reply_to_user_rejects_disallowed_image_extension ... ok
[INFO] [stdout] test tools::tests::reply_to_user_rejects_oversize_image_caption ... ok
[INFO] [stdout] test tools::tests::read_attachment_no_compose_returns_disabled ... ok
[INFO] [stdout] test tools::tests::reply_to_user_text_length_is_utf16_not_bytes ... ok
[INFO] [stdout] test tools::tests::reply_to_user_rejects_missing_path ... ok
[INFO] [stdout] test tools::tests::reply_to_user_rejects_oversize_path ... ok
[INFO] [stdout] test tools::tests::reply_to_user_resolution_misses_leave_telegram_msg_id_null ... ok
[INFO] [stdout] test tools::tests::reply_to_user_text_only_back_compat ... ok
[INFO] [stdout] test tools::tests::reply_to_user_text_only_back_compat_leaves_telegram_msg_id_null ... ok
[INFO] [stdout] test tools::tests::reply_to_user_text_plus_image_share_one_reply_to_message_id ... ok
[INFO] [stdout] test tools::tests::request_approval_binary_is_unchanged ... ok
[INFO] [stdout] test tools::tests::reply_to_user_threads_image_when_reply_to_message_id_set ... ok
[INFO] [stdout] test tools::tests::request_approval_with_options_serializes_them ... ok
[INFO] [stdout] test tools::tests::reply_to_user_text_plus_image_inserts_two_rows ... ok
[INFO] [stdout] test tools::tests::reply_to_user_threads_text_when_reply_to_message_id_set ... ok
[INFO] [stdout] test tools::tests::request_approval_empty_options_falls_back_to_binary ... ok
[INFO] [stdout] test tools::tests::show_typing_persists_kind_and_empty_payload ... ok
[INFO] [stdout] test tools::tests::show_typing_returns_message_id_and_recipient ... ok
[INFO] [stdout] test tools::tests::show_typing_non_manager_is_rejected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 65 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.66s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/bridges.rs (/opt/rustwide/target/debug/deps/bridges-39713e29df7a2107)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test cross_project_dm_blocked_without_bridge ... ok
[INFO] [stdout] test expired_bridge_rejects_dm ... ok
[INFO] [stdout] test bridge_authorizes_cross_project_dm ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.16s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/channels.rs (/opt/rustwide/target/debug/deps/channels-674019f50902caea)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test broadcast_rejected_when_not_member ... ok
[INFO] [stdout] test dm_rejected_when_acl_denies ... ok
[INFO] [stdout] test broadcast_delivers_to_subscribers_only ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/channels_notify.rs (/opt/rustwide/target/debug/deps/channels_notify-22c622e783ff68ef)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test initialize_advertises_channel_capability ... ok
[INFO] [stdout] test inbox_read_returns_bodies_and_auto_acks ... ok
[INFO] [stdout] test inbox_read_rejects_ids_addressed_to_other_agents ... ok
[INFO] [stdout] test immediate_message_delivers_full_body_inline ... ok
[INFO] [stdout] test system_kind_delivers_full_body_inline_under_default_lazy ... ok
[INFO] [stdout] test new_inbox_row_pushes_channel_notification_to_subscribed_agent ... ok
[INFO] [stdout] test lazy_inbox_disabled_by_env_delivers_full_body ... ok
[INFO] [stdout] test long_body_preview_truncates_at_80_with_ellipsis ... ok
[INFO] [stdout] test row_written_before_initialized_still_emits_notification ... ok
[INFO] [stdout] test channel_stub_includes_channel_name_in_preview ... ok
[INFO] [stdout] test initialized_before_watcher_parks_still_emits_notification ... ok
[INFO] [stdout] test watcher_skips_pre_existing_unacked_messages_at_startup ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.63s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/compact_self.rs (/opt/rustwide/target/debug/deps/compact_self-bbeef50acf987d36)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test compact_self_rejects_non_claude_code_manager ... ok
[INFO] [stdout] test compact_self_dispatch_works_for_worker_too ... ok
[INFO] [stdout] test compact_self_dispatch_returns_session_for_claude_code_manager ... ok
[INFO] [stdout] test compact_self_listed_in_tools_list ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hitl.rs (/opt/rustwide/target/debug/deps/hitl-e603df07921544a4)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test org_chart_returns_managers_and_workers ... ok
[INFO] [stdout] test request_approval_wait_false_returns_pending_immediately ... ok
[INFO] [stdout] test select_vs_delivered_at_flip_is_race_free ... ok
[INFO] [stdout] test request_approval_blocks_then_resolves_on_approve ... ok
[INFO] [stdout] test request_approval_undeliverable_after_ttl ... ok
[INFO] [stdout] test request_approval_expires_after_ttl ... ok
[INFO] [stderr]      Running tests/reply_to_user.rs (/opt/rustwide/target/debug/deps/reply_to_user-c8f35022babb5a27)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.12s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test reply_to_user_rejects_non_manager_caller ... ok
[INFO] [stderr]      Running tests/stdio.rs (/opt/rustwide/target/debug/deps/stdio-9d2c77d06d8e1841)
[INFO] [stdout] test reply_to_user_inserts_row_when_caller_is_manager ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test cross_project_dm_is_rejected ... ok
[INFO] [stdout] test end_to_end_dm_between_two_agents ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/teamctl-f262b41c7cf2a7e8)
[INFO] [stdout] 
[INFO] [stdout] running 276 tests
[INFO] [stdout] test cmd::adjust::tests::answer_is_yes_defaults_to_yes_on_empty ... ok
[INFO] [stdout] test cmd::adjust::tests::n_exits_clean_without_exec ... ok
[INFO] [stdout] test cmd::adjust::tests::y_execs_claude_with_skill_arg_only ... ok
[INFO] [stdout] test cmd::adjust::tests::empty_input_execs_claude ... ok
[INFO] [stdout] test cmd::adjust::tests::yes_flag_rejects_before_prompt ... ok
[INFO] [stdout] test cmd::agent_filter::tests::all_imposes_no_filter ... ok
[INFO] [stdout] test cmd::agent_filter::tests::except_every_agent_yields_empty_set ... ok
[INFO] [stdout] test cmd::agent_filter::tests::from_args_maps_to_variants ... ok
[INFO] [stdout] test cmd::agent_filter::tests::except_returns_the_complement ... ok
[INFO] [stdout] test cmd::agent_filter::tests::only_dedups_repeated_names ... ok
[INFO] [stdout] test cmd::agent_filter::tests::is_scoped_only_for_named_forms ... ok
[INFO] [stdout] test cmd::agent_filter::tests::only_returns_exactly_the_named_agents ... ok
[INFO] [stdout] test cmd::agent_filter::tests::unknown_agent_in_except_also_errors ... ok
[INFO] [stdout] test cmd::agent_filter::tests::unknown_agent_in_only_errors_listing_valid_names ... ok
[INFO] [stdout] test cmd::attach::tests::read_write_default_omits_dash_r ... ok
[INFO] [stdout] test cmd::attach::tests::ro_inserts_dash_r_before_dash_t ... ok
[INFO] [stdout] test cmd::bot::tests::bot_session_name_is_stable_and_unique ... ok
[INFO] [stdout] test cmd::bot::tests::capture_line_handles_eof_without_newline ... ok
[INFO] [stdout] test cmd::bot::tests::capture_line_matches_prompt_capture_semantics ... ok
[INFO] [stdout] test cmd::bot::tests::capture_line_strips_only_the_trailing_newline ... ok
[INFO] [stdout] test cmd::bot::tests::capture_line_strips_crlf ... ok
[INFO] [stdout] test cmd::bot::tests::capture_line_preserves_value_bytes_including_inner_spaces ... ok
[INFO] [stdout] test cmd::bot::tests::default_chats_env_matches_token_shape ... ok
[INFO] [stdout] test cmd::bot::tests::default_token_env_strips_project ... ok
[INFO] [stdout] test cmd::bot::tests::forced_manual_skips_the_fork ... ok
[INFO] [stdout] test cmd::bot::tests::process_secret_bytes_backspace_clears_whole_buffer ... ok
[INFO] [stdout] test cmd::bot::tests::process_secret_bytes_drops_other_control_bytes ... ok
[INFO] [stdout] test cmd::bot::tests::process_secret_bytes_keeps_plain_ascii_verbatim ... ok
[INFO] [stdout] test cmd::bot::tests::process_secret_bytes_rejects_invalid_utf8 ... ok
[INFO] [stdout] test cmd::bot::tests::process_secret_bytes_ignores_bytes_after_terminator ... ok
[INFO] [stdout] test cmd::bot::tests::process_secret_bytes_terminates_on_cr_or_lf ... ok
[INFO] [stdout] test cmd::bot::tests::process_secret_bytes_round_trips_pasted_multibyte_utf8 ... ok
[INFO] [stdout] test cmd::bot::tests::resume_prompt_both_set_reads_as_re_run ... ok
[INFO] [stdout] test cmd::bot::tests::resume_prompt_chats_only_collects_token ... ok
[INFO] [stdout] test cmd::bot::tests::splice_manager_bot_preserves_file_final_comment_on_replace ... ignored, blocked on #319: yaml_edit::block_end_after eats the file-final trailing comment on a leaf replace. The managed-bots wizard's own writes don't create this shape (seeding appends `interfaces:` last, pushing comments before it), so typical usage is safe — but a --force re-run after an operator hand-adds a trailing comment hits it. Un-ignore when #319 lands; this is its ready regression guard.
[INFO] [stdout] test cmd::bot::tests::resume_prompt_token_only_collects_chat_id ... ok
[INFO] [stdout] test cmd::bot::tests::resume_prompt_nothing_set_reads_as_first_time_setup ... ok
[INFO] [stdout] test cmd::caffeinate::tests::pidfile_path_is_host_global_named ... ok
[INFO] [stdout] test cmd::bot::tests::process_secret_bytes_empty_input_yields_empty_string ... ok
[INFO] [stdout] test cmd::init::tests::agent_descriptor_all_zero_counts ... ok
[INFO] [stdout] test cmd::init::tests::confirm_defaults_to_yes_on_empty_declines_on_n ... ok
[INFO] [stdout] test cmd::init::tests::entries_includes_shared_common_overlays ... ok
[INFO] [stdout] test cmd::init::tests::agent_descriptor_omits_model_when_unset ... ok
[INFO] [stdout] test cmd::init::tests::entries_ships_compose_and_gitignore_for_every_template ... ok
[INFO] [stdout] test cmd::bot::tests::write_env_file_replaces_in_place ... ok
[INFO] [stdout] test cmd::init::tests::entries_lead_with_team_compose ... ok
[INFO] [stdout] test cmd::caffeinate::tests::pid_alive_true_for_self_false_for_sentinel ... ok
[INFO] [stdout] test cmd::bot::tests::edit_manager_yaml_inserts_interfaces_telegram_block ... ok
[INFO] [stdout] test cmd::init::tests::agent_descriptor_counts_and_model_segment ... ok
[INFO] [stdout] test cmd::init::tests::entries_blank_does_not_duplicate_dotfiles ... ok
[INFO] [stdout] test cmd::bot::tests::splice_manager_bot_preserves_trailing_comment_on_insert ... ok
[INFO] [stdout] test cmd::caffeinate::tests::read_pid_parses_valid_and_rejects_garbage ... ok
[INFO] [stdout] test cmd::init::tests::entries_skips_ds_store ... ok
[INFO] [stdout] test cmd::init::tests::every_template_file_is_utf8 ... ok
[INFO] [stdout] test cmd::init::tests::label_for_prefers_display_name_else_id ... ok
[INFO] [stdout] test cmd::init::tests::lead_attach_falls_back_to_any_agent_when_no_managers ... ok
[INFO] [stdout] test cmd::init::tests::lead_attach_falls_back_to_first_manager_when_none_reported_to ... ok
[INFO] [stdout] test cmd::init::tests::lead_attach_none_when_no_agents ... ok
[INFO] [stdout] test cmd::bot::tests::splice_manager_bot_seeds_interfaces_when_absent ... ok
[INFO] [stdout] test cmd::init::tests::picker_menu_is_in_display_order ... ok
[INFO] [stdout] test cmd::init::tests::entries_walks_nested_dirs ... ok
[INFO] [stdout] test cmd::init::tests::lead_attach_prefers_the_manager_workers_report_to ... ok
[INFO] [stdout] test cmd::init::tests::lead_attach_scopes_reports_to_by_project ... ok
[INFO] [stdout] test cmd::bot::tests::managed_bot_write_validates_clean_and_round_trips ... ok
[INFO] [stdout] test cmd::init::tests::picker_three_selects_blank ... ok
[INFO] [stdout] test cmd::init::tests::model_label_all_arms_including_both_haiku_aliases ... ok
[INFO] [stdout] test cmd::init::tests::picker_essentials_hidden_but_flag_still_resolves ... ok
[INFO] [stdout] test cmd::init::tests::picker_empty_input_defaults_to_ideate_and_build ... ok
[INFO] [stdout] test cmd::init::tests::slugify_basic ... ok
[INFO] [stdout] test cmd::bot::tests::fresh_essentials_team_bot_setup_yields_resolvable_bridge_spec ... ok
[INFO] [stdout] test cmd::init::tests::picker_one_selects_ideate_and_build ... ok
[INFO] [stdout] test cmd::init::tests::picker_two_selects_guided ... ok
[INFO] [stdout] test cmd::init::tests::substitute_replaces_handlebars ... ok
[INFO] [stdout] test cmd::init::tests::picker_out_of_range_falls_back_to_ideate_and_build ... ok
[INFO] [stdout] test cmd::init::tests::template_keys_lists_guided_first ... ok
[INFO] [stdout] test cmd::init::tests::runtime_label_known_and_unknown ... ok
[INFO] [stdout] test cmd::bot::tests::upsert_manager_telegram_succeeds_for_consecutive_managers_in_same_project ... ok
[INFO] [stdout] test cmd::init::tests::tree_agentless_project_yields_empty ... ok
[INFO] [stdout] test cmd::init::tests::tree_falls_back_to_scanning_projects_without_compose ... ok
[INFO] [stdout] test cmd::init::tests::tree_line_carries_agent_descriptor ... ok
[INFO] [stdout] test cmd::init::tests::tree_manager_with_two_workers_nests_and_id_sorts ... ok
[INFO] [stdout] test cmd::init::tests::tree_essentials_template_emits_single_root ... ok
[INFO] [stdout] test cmd::init::tests::tree_orphan_worker_hangs_at_top_level ... ok
[INFO] [stdout] test cmd::init::tests::tree_two_managers_split_workers_by_reports_to ... ok
[INFO] [stdout] test cmd::init::tests::treenode_empty_renders_nothing ... ok
[INFO] [stdout] test cmd::init::tests::tree_uses_display_name_over_id ... ok
[INFO] [stdout] test cmd::init::tests::tree_unparseable_compose_and_project_degrade_to_empty ... ok
[INFO] [stdout] test cmd::init::tests::treenode_inserting_existing_path_does_not_duplicate ... ok
[INFO] [stdout] test cmd::init::tests::treenode_preserves_insertion_order_not_alpha ... ok
[INFO] [stdout] test cmd::init::tests::treenode_renders_dirs_files_and_connectors ... ok
[INFO] [stdout] test cmd::project_filter::tests::resolve_errors_with_available_list_on_miss ... ok
[INFO] [stdout] test cmd::project_filter::tests::resolve_filename_match_returns_canonical_id_not_stem ... ok
[INFO] [stdout] test cmd::project_filter::tests::resolve_handles_empty_compose_with_clear_error ... ok
[INFO] [stdout] test cmd::project_filter::tests::resolve_matches_filename_stem_when_id_does_not_match ... ok
[INFO] [stdout] test cmd::project_filter::tests::resolve_matches_project_id_exactly ... ok
[INFO] [stdout] test cmd::project_filter::tests::resolve_prefers_project_id_when_id_and_file_resolve_to_different_projects ... ok
[INFO] [stdout] test cmd::release_notes::tests::effective_from_clamps_pre_floor_current_to_floor ... ok
[INFO] [stdout] test cmd::release_notes::tests::effective_from_preserves_at_or_above_floor ... ok
[INFO] [stdout] test cmd::release_notes::tests::extract_body_handles_single_line_json ... ok
[INFO] [stdout] test cmd::release_notes::tests::extract_body_handles_unicode_escape ... ok
[INFO] [stdout] test cmd::release_notes::tests::extract_body_returns_none_for_empty_body ... ok
[INFO] [stdout] test cmd::release_notes::tests::extract_body_returns_none_for_malformed_json ... ok
[INFO] [stdout] test cmd::release_notes::tests::extract_body_returns_none_for_missing_field ... ok
[INFO] [stdout] test cmd::release_notes::tests::extract_body_returns_none_for_null_body ... ok
[INFO] [stdout] test cmd::release_notes::tests::extract_body_survives_round_trip_with_realistic_release_body ... ok
[INFO] [stdout] test cmd::release_notes::tests::extract_body_unescapes_newlines_and_quotes ... ok
[INFO] [stdout] test cmd::release_notes::tests::fallback_link_strips_v_prefix ... ok
[INFO] [stdout] test cmd::release_notes::tests::footer_line_points_to_changelog ... ok
[INFO] [stdout] test cmd::release_notes::tests::is_below_floor_is_inclusive_at_floor ... ok
[INFO] [stdout] test cmd::release_notes::tests::is_cargo_dist_install_heading_rejects_other_shapes ... ok
[INFO] [stdout] test cmd::release_notes::tests::parse_release_body_handles_headline_without_description ... ok
[INFO] [stdout] test cmd::release_notes::tests::is_cargo_dist_install_heading_recognizes_known_crates ... ok
[INFO] [stdout] test cmd::release_notes::tests::parse_release_body_handles_multiple_entries ... ok
[INFO] [stdout] test cmd::release_notes::tests::fallback_link_contains_tag_url ... ok
[INFO] [stdout] test cmd::release_notes::tests::is_below_floor_excludes_pre_floor_versions ... ok
[INFO] [stdout] test cmd::release_notes::tests::parse_release_body_returns_empty_when_no_headings ... ok
[INFO] [stdout] test cmd::release_notes::tests::parse_release_body_treats_code_fence_as_non_convention ... ok
[INFO] [stdout] test cmd::release_notes::tests::parse_release_body_treats_h2_as_non_convention ... ok
[INFO] [stdout] test cmd::release_notes::tests::parse_releases_list_returns_empty_on_malformed_json ... ok
[INFO] [stdout] test cmd::release_notes::tests::parse_releases_list_skips_items_missing_tag ... ok
[INFO] [stdout] test cmd::release_notes::tests::parse_releases_list_extracts_tag_and_body ... ok
[INFO] [stdout] test cmd::release_notes::tests::parse_releases_list_tolerates_null_body ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_appends_footer_line ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_body_strips_cargo_dist_install_section ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_empty_body_has_no_double_blank_before_footer ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_falls_back_to_raw_for_non_conforming_body ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_flat_prose_plain_strips_punctuation_no_escapes ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_handles_empty_body ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_non_convention_body_stays_verbatim ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_install_at_top_truncated_body_has_no_double_blank ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_plain_when_no_color_strips_markdown_punctuation ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_range_empty_entry_body_has_no_double_blank_between_subheaders ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_range_path_used_for_multi_version ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_range_separates_versions_with_blank_line ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_range_shows_range_frame_and_per_version_subheaders ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_styles_flat_prose_inline_spans_when_color ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_range_strips_v_prefix_consistently ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_styles_headline_and_inline_spans_when_color ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_strips_v_prefix_in_header ... ok
[INFO] [stdout] test cmd::release_notes::tests::select_range_cuts_below_floor ... ok
[INFO] [stdout] test cmd::release_notes::tests::select_range_excludes_from_and_includes_to ... ok
[INFO] [stdout] test cmd::release_notes::tests::select_range_is_empty_when_from_equals_to ... ok
[INFO] [stdout] test cmd::release_notes::tests::select_range_excludes_targets_below_floor ... ok
[INFO] [stdout] test cmd::release_notes::tests::parse_release_body_handles_single_entry ... ok
[INFO] [stdout] test cmd::release_notes::tests::select_range_returns_oldest_first ... ok
[INFO] [stdout] test cmd::release_notes::tests::style_inline_bold_span_when_color ... ok
[INFO] [stdout] test cmd::release_notes::tests::style_inline_code_nested_in_bold_when_plain ... ok
[INFO] [stdout] test cmd::release_notes::tests::style_inline_code_span_when_color ... ok
[INFO] [stdout] test cmd::release_notes::tests::style_inline_code_nested_in_bold_when_color ... ok
[INFO] [stdout] test cmd::release_notes::tests::style_inline_empty_bold_span_is_noop_text ... ok
[INFO] [stdout] test cmd::release_notes::tests::style_inline_handles_multiple_and_mixed_spans ... ok
[INFO] [stdout] test cmd::release_notes::tests::style_inline_leaves_unterminated_bold_verbatim ... ok
[INFO] [stdout] test cmd::release_notes::tests::style_inline_leaves_unterminated_code_verbatim ... ok
[INFO] [stdout] test cmd::release_notes::tests::style_inline_multiple_code_spans_in_one_bold ... ok
[INFO] [stdout] test cmd::release_notes::tests::style_inline_plain_text_unchanged ... ok
[INFO] [stdout] test cmd::release_notes::tests::style_inline_preserves_unicode_and_emoji ... ok
[INFO] [stdout] test cmd::release_notes::tests::style_inline_single_asterisk_is_not_bold ... ok
[INFO] [stdout] test cmd::release_notes::tests::style_inline_strips_punctuation_when_plain ... ok
[INFO] [stdout] test cmd::release_notes::tests::style_inline_triple_asterisk_boundary_documented ... ok
[INFO] [stdout] test cmd::release_notes::tests::truncate_at_cargo_dist_empty_result_when_install_starts_at_top ... ok
[INFO] [stdout] test cmd::release_notes::tests::truncate_at_cargo_dist_keeps_prose_with_inline_hash ... ok
[INFO] [stdout] test cmd::reload::tests::drain_suffix_annotates_timeout ... ok
[INFO] [stdout] test cmd::release_notes::tests::truncate_at_cargo_dist_drops_install_section_and_below ... ok
[INFO] [stdout] test cmd::release_notes::tests::truncate_at_cargo_dist_unchanged_when_no_install_heading ... ok
[INFO] [stdout] test cmd::release_notes::tests::parse_release_body_treats_cargo_dist_body_as_non_convention ... ok
[INFO] [stdout] test cmd::reload::tests::change_line_head_distinguishes_diff_from_forced ... ok
[INFO] [stdout] test cmd::release_notes::tests::render_separates_entries_with_blank_line ... ok
[INFO] [stdout] test cmd::reload::tests::drain_suffix_empty_on_graceful ... ok
[INFO] [stdout] test cmd::reload::tests::filter_plan_does_not_match_prefix_collisions ... ok
[INFO] [stdout] test cmd::reload::tests::filter_plan_returns_empty_when_no_entries_match ... ok
[INFO] [stdout] test cmd::reload::tests::filter_plan_keeps_only_matching_project_entries ... ok
[INFO] [stdout] test cmd::reload::tests::force_promote_keeps_moves_keeps_into_change_as_forced ... ok
[INFO] [stdout] test cmd::reload::tests::force_promote_keeps_without_prior_entry_leaves_it_kept ... ok
[INFO] [stdout] test cmd::reload::tests::fresh_suffix_annotates_only_when_fresh ... ok
[INFO] [stdout] test cmd::rl_watch::tests::duration_parses_compound ... ok
[INFO] [stdout] test cmd::rl_watch::tests::strip_ansi_csi ... ok
[INFO] [stdout] test cmd::rl_watch::tests::strip_ansi_osc ... ok
[INFO] [stdout] test cmd::rl_watch::tests::winch_handler_flips_pending_flag ... ok
[INFO] [stdout] test cmd::sessions::tests::aggregate_collapses_sessions_per_project_and_sorts_agents ... ok
[INFO] [stdout] test cmd::sessions::tests::aggregate_status_is_orphan_if_any_session_is_orphan ... ok
[INFO] [stdout] test cmd::sessions::tests::classify_running_when_root_is_project_directory ... ok
[INFO] [stdout] test cmd::sessions::tests::classify_running_when_root_is_dot_team_directory ... ok
[INFO] [stdout] test cmd::sessions::tests::format_relative_covers_buckets ... ok
[INFO] [stdout] test cmd::sessions::tests::classify_skips_untagged_sessions_regardless_of_name ... ok
[INFO] [stdout] test cmd::sessions::tests::parse_list_sessions_handles_normal_output ... ok
[INFO] [stdout] test cmd::sessions::tests::parse_list_sessions_skips_malformed_lines ... ok
[INFO] [stdout] test cmd::snapshot::tests::blake3_hash_is_deterministic ... ok
[INFO] [stdout] test cmd::snapshot::tests::env_change_only_labels_env ... ok
[INFO] [stdout] test cmd::snapshot::tests::change_carries_prior_entry_for_safe_teardown ... ok
[INFO] [stdout] test cmd::snapshot::tests::fingerprint_label_combines_inputs ... ok
[INFO] [stdout] test cmd::snapshot::tests::fingerprint_multifile_flips_on_reorder ... ok
[INFO] [stdout] test cmd::snapshot::tests::fingerprint_multifile_flips_on_any_source_edit ... ok
[INFO] [stdout] test cmd::snapshot::tests::fingerprint_multifile_missing_source_returns_missing ... ok
[INFO] [stdout] test cmd::snapshot::tests::identical_snapshots_are_all_keep ... ok
[INFO] [stdout] test cmd::snapshot::tests::forced_changed_inputs_is_all_false ... ok
[INFO] [stdout] test cmd::snapshot::tests::fingerprint_single_form_matches_legacy_byte_hash ... ok
[INFO] [stdout] test cmd::snapshot::tests::merge_drops_named_project_entries_present_in_prior_but_not_next ... ok
[INFO] [stdout] test cmd::snapshot::tests::merge_does_not_touch_prefix_collision_projects ... ok
[INFO] [stdout] test cmd::rl_watch::tests::scan_line_matches_with_ansi_codes ... ok
[INFO] [stdout] test cmd::snapshot::tests::merge_replaces_named_project_entries_and_keeps_others ... ok
[INFO] [stdout] test cmd::snapshot::tests::merge_uses_next_top_level_metadata ... ok
[INFO] [stdout] test cmd::snapshot::tests::merge_with_no_prior_falls_back_to_next_filtered ... ok
[INFO] [stdout] test cmd::snapshot::tests::no_prior_marks_all_as_add ... ok
[INFO] [stdout] test cmd::snapshot::tests::removal_carries_prior_tmux_session ... ok
[INFO] [stdout] test cmd::snapshot::tests::schema_v1_is_treated_as_no_prior ... ok
[INFO] [stdout] test cmd::ui::tests::execs_ui_when_found_and_forwards_argv ... ok
[INFO] [stdout] test cmd::snapshot::tests::role_prompt_missing_vs_none_distinct ... ok
[INFO] [stdout] test cmd::ui::tests::forwards_help_flag_to_ui_binary ... ok
[INFO] [stdout] test cmd::ui::tests::no_ui_with_no_prompt_flag_just_hints_and_exits ... ok
[INFO] [stdout] test cmd::ui::tests::no_ui_with_non_interactive_stdin_skips_prompt_implicitly ... ok
[INFO] [stdout] test cmd::ui::tests::no_ui_interactive_n_exits_without_install ... ok
[INFO] [stdout] test cmd::ui::tests::no_ui_interactive_y_runs_install ... ok
[INFO] [stdout] test cmd::up::tests::boot_script_emits_session_start_context ... ok
[INFO] [stdout] test cmd::up::tests::freshen_action_gates_on_fresh_and_runtime ... ok
[INFO] [stdout] test cmd::up::tests::wrapper_threads_skills_via_add_dir_flag ... ok
[INFO] [stdout] test cmd::rl_watch::tests::compile_patterns_works ... ok
[INFO] [stdout] test cmd::up::tests::wrapper_defaults_headless_to_permission_mode_auto ... ok
[INFO] [stdout] test cmd::up::tests::wrapper_threads_subagents_via_agents_flag ... ok
[INFO] [stdout] test cmd::up::tests::wrapper_session_vars_have_set_u_defaults ... ok
[INFO] [stdout] test cmd::update::tests::cargo_install_crates_includes_all_four_binaries ... ok
[INFO] [stdout] test cmd::up::tests::wrapper_auto_confirm_patterns_present ... ok
[INFO] [stdout] test cmd::up::tests::wrapper_session_id_resume_branch_present ... ok
[INFO] [stdout] test cmd::up::tests::wrapper_bootstrap_prompt_default_is_macos_safe ... ok
[INFO] [stdout] test cmd::update::tests::cargo_plan_describe_lists_teamctl_ui ... ok
[INFO] [stdout] test cmd::up::tests::ensure_claude_trust_writes_key_then_is_idempotent ... ok
[INFO] [stdout] test cmd::update::tests::detect_homebrew_intel_layout ... ok
[INFO] [stdout] test cmd::update::tests::detect_cargo_layout ... ok
[INFO] [stdout] test cmd::update::tests::compare_versions_orders_correctly ... ok
[INFO] [stdout] test cmd::up::tests::ensure_wrapper_and_dirs_writes_executable_boot_script ... ok
[INFO] [stdout] test cmd::update::tests::detect_homebrew_linux_layout ... ok
[INFO] [stdout] test cmd::update::tests::detect_homebrew_macos_layout ... ok
[INFO] [stdout] test cmd::update::tests::detect_shell_default_for_local_bin ... ok
[INFO] [stdout] test cmd::up::tests::render_project_public_writes_role_prompt_concat ... ok
[INFO] [stdout] test cmd::update::tests::detect_shell_default_for_unknown_path ... ok
[INFO] [stdout] test cmd::update::tests::extract_tag_name_handles_pretty_printed_json ... ok
[INFO] [stdout] test cmd::update::tests::extract_tag_name_handles_single_line_json ... ok
[INFO] [stdout] test cmd::update::tests::plugin_step_runs_update_when_plugin_installed ... ok
[INFO] [stdout] test cmd::update::tests::extract_tag_name_returns_none_for_empty_value ... ok
[INFO] [stdout] test cmd::update::tests::extract_tag_name_returns_none_for_missing_field ... ok
[INFO] [stdout] test cmd::update::tests::summarize_plugin_update_failure_glyph ... ok
[INFO] [stdout] test cmd::update::tests::extract_tag_name_strips_v_prefix ... ok
[INFO] [stdout] test cmd::update::tests::parse_method_accepts_synonyms ... ok
[INFO] [stdout] test cmd::update::tests::parse_triplet_handles_v_prefix_and_pre ... ok
[INFO] [stdout] test cmd::update::tests::plugin_installed_finds_id_in_list ... ok
[INFO] [stdout] test cmd::update::tests::plugin_installed_handles_empty_list ... ok
[INFO] [stdout] test cmd::update::tests::summarize_plugin_update_already_current ... ok
[INFO] [stdout] test cmd::update::tests::plugin_step_skips_silent_when_plugin_not_installed ... ok
[INFO] [stdout] test cmd::update::tests::parse_method_rejects_garbage ... ok
[INFO] [stdout] test cmd::update::tests::summarize_plugin_update_failure_text_without_glyph ... ok
[INFO] [stdout] test cmd::update::tests::summarize_plugin_update_real_update ... ok
[INFO] [stdout] test cmd::update::tests::plugin_step_skips_silent_when_claude_not_on_path ... ok
[INFO] [stdout] test cmd::update::tests::plugin_installed_returns_false_on_malformed_json ... ok
[INFO] [stdout] test cmd::update_check::tests::cache_path_lives_under_root_state_dir ... ok
[INFO] [stdout] test cmd::update_check::tests::decide_check_fetches_on_binary_upgrade_same_day ... ok
[INFO] [stdout] test cmd::update_check::tests::decide_check_fetches_on_different_day ... ok
[INFO] [stdout] test cmd::update_check::tests::decide_check_fetches_when_no_prior ... ok
[INFO] [stdout] test cmd::update_check::tests::decide_check_skips_when_same_day_and_same_current ... ok
[INFO] [stdout] test cmd::rl_hit::tests::record_hit_writes_a_forensic_marker_row_with_null_resets_at ... ok
[INFO] [stdout] test cmd::update_check::tests::cache_round_trips_through_json ... ok
[INFO] [stdout] test cmd::update_check::tests::read_cache_returns_none_on_malformed_json ... ok
[INFO] [stdout] test managed_bot::tests::creation_link_uses_t_me_newbot_form ... ok
[INFO] [stdout] test cmd::update_check::tests::read_cache_returns_none_on_missing_file ... ok
[INFO] [stdout] test cmd::rl_hit::tests::record_hit_does_not_dedup_repeated_hits ... ok
[INFO] [stdout] test cmd::update_check::tests::read_cache_returns_none_on_wrong_shape ... ok
[INFO] [stdout] test managed_bot::tests::next_backoff_doubles_then_caps ... ok
[INFO] [stdout] test managed_bot::tests::token_from_env_resolves_trimmed ... ok
[INFO] [stdout] test managed_bot::tests::token_from_env_rejects_missing_and_empty ... ok
[INFO] [stdout] test term::tests::use_color_respects_no_color_then_tty ... ok
[INFO] [stdout] test tests::attach_defaults_to_read_write ... ok
[INFO] [stdout] test tests::attach_ro_and_rw_together_is_read_only ... ok
[INFO] [stdout] test tests::attach_ro_flag_sets_read_only ... ok
[INFO] [stdout] test tests::attach_rw_flag_still_parses_and_is_ignored ... ok
[INFO] [stdout] test managed_bot::tests::get_managed_bot_token_success ... ok
[INFO] [stdout] test managed_bot::tests::poll_once_surfaces_api_error ... ok
[INFO] [stdout] test managed_bot::tests::get_managed_bot_token_surfaces_api_error ... ok
[INFO] [stdout] test managed_bot::tests::poll_returns_first_managed_bot_update ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 275 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-8bba8407103fbb00)
[INFO] [stdout] 
[INFO] [stdout] running 47 tests
[INFO] [stdout] test except_requires_a_project ... ok
[INFO] [stdout] test help_header_includes_version_from_cargo_pkg_version ... ok
[INFO] [stdout] test init_essentials_template_scaffolds_two_project_tree ... ok
[INFO] [stdout] test init_blank_template_scaffolds_minimal_tree ... ok
[INFO] [stdout] test except_every_agent_reports_empty_scope ... ok
[INFO] [stdout] test init_force_overwrites_existing_dot_team_cleanly ... ok
[INFO] [stdout] test init_yes_without_template_defaults_to_essentials ... ok
[INFO] [stdout] test help_documents_all_scope_levels_consistently ... ok
[INFO] [stdout] test init_with_name_creates_team_folder_that_validates ... ok
[INFO] [stdout] test positional_list_and_except_are_mutually_exclusive ... ok
[INFO] [stdout] test ideate_and_build_template_renders_per_agent_subagents ... ok
[INFO] [stdout] test context_subcommand_emits_deprecation_warning ... ok
[INFO] [stdout] test reload_dry_run_scoped_to_project_lists_only_that_project ... ok
[INFO] [stdout] test init_refuses_existing_team_without_force ... ok
[INFO] [stdout] test init_ideate_and_build_template_scaffolds_with_subagents ... ok
[INFO] [stdout] test reload_dry_run_resolves_project_by_filename_stem ... ok
[INFO] [stdout] test reload_dry_run_with_no_prior_lists_added_and_does_not_apply ... ok
[INFO] [stdout] test reload_dry_run_scoped_to_agent_forces_only_that_agent ... ok
[INFO] [stdout] test reload_dry_run_except_agent_forces_the_complement ... ok
[INFO] [stdout] test reload_force_composes_with_fresh_and_dry_run ... ok
[INFO] [stdout] test reload_help_documents_force_flag ... ok
[INFO] [stdout] test reload_force_dry_run_without_prior_lists_added_not_forced ... ok
[INFO] [stdout] test ui_with_no_prompt_and_no_binary_prints_install_hint_and_exits_zero ... ok
[INFO] [stdout] test reload_no_arg_unchanged_lists_every_project ... ok
[INFO] [stdout] test reload_project_only_keeps_the_unchanged_diff_path ... ok
[INFO] [stdout] test validate_accepts_existing_conformant_id_shapes ... ok
[INFO] [stdout] test validate_accepts_cascading_role_prompt_list_form ... ok
[INFO] [stdout] test validate_passes_on_clean_compose ... ok
[INFO] [stdout] test down_bails_on_evil_project_id_before_reaching_supervisor ... ok
[INFO] [stdout] test version_flag_still_prints_version ... ok
[INFO] [stdout] test warn_b_env_root_warns ... ok
[INFO] [stdout] test init_template_guided_with_yes_errors ... ok
[INFO] [stdout] test warn_a_walk_up_silent ... ok
[INFO] [stdout] test adjust_yes_flag_errors_clearly_with_actionable_message ... ok
[INFO] [stdout] test warn_b_empty_env_root_treated_as_unset ... ok
[INFO] [stdout] test warn_d_registered_context_no_longer_resolves_root ... ok
[INFO] [stdout] test warn_c_explicit_root_silent ... ok
[INFO] [stdout] test warn_e_quiet_silences_env ... ok
[INFO] [stdout] test except_unknown_agent_also_errors ... ok
[INFO] [stdout] test reload_dry_run_with_unknown_project_lists_known_and_exits_nonzero ... ok
[INFO] [stdout] test validate_fails_on_unknown_dm_target ... ok
[INFO] [stdout] test scoped_unknown_agent_errors_listing_valid_names ... ok
[INFO] [stdout] test validate_rejects_project_id_with_shell_metacharacters ... ok
[INFO] [stdout] test rl_hit_records_a_forensic_row_for_a_known_agent ... ok
[INFO] [stdout] test send_injects_into_mailbox ... ok
[INFO] [stdout] test rl_hit_is_resilient_to_an_agent_absent_from_the_compose ... ok
[INFO] [stdout] test approve_after_ttl_elapsed_returns_no_pending_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 47 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/install_sh_claude_version_floor.rs (/opt/rustwide/target/debug/deps/install_sh_claude_version_floor-2fd878a13537dc06)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test plugin_install_arms_are_floor_gated ... ok
[INFO] [stdout] test floor_constant_pins_2_1_141 ... ok
[INFO] [stdout] test floor_skip_message_names_floor_and_remediation ... ok
[INFO] [stdout] test version_check_helpers_exist ... ok
[INFO] [stdout] test version_ge_lexical_pitfall_is_not_lexical ... ok
[INFO] [stdout] test version_ge_documented_cases ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/install_sh_plugin_ref.rs (/opt/rustwide/target/debug/deps/install_sh_plugin_ref-66198979f0b28651)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test installer_uses_marketplace_qualified_plugin_id ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/install_sh_target_triple.rs (/opt/rustwide/target/debug/deps/install_sh_target_triple-d9ea8ad2674887e3)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test parser_anchored_to_dist_section_ignores_sibling_targets ... ok
[INFO] [stdout] test parser_handles_inline_array ... ok
[INFO] [stdout] test installer_linux_targets_are_musl ... ok
[INFO] [stdout] test parser_handles_multiline_array ... ok
[INFO] [stdout] test installer_only_requests_published_targets ... ok
[INFO] [stdout] test parser_panics_loudly_when_array_missing - should panic ... ok
[INFO] [stdout] test parser_panics_loudly_when_section_missing - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/version.rs (/opt/rustwide/target/debug/deps/version-6d67175ab6754924)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test version_has_no_v_prefix ... ok
[INFO] [stdout] test version_base_is_dotted_numeric_semver ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests team_core
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0b1d97c422bad0789ad97c04bdbd6e6c6f2cca67b3dd261c11650547dcd4acf4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b1d97c422bad0789ad97c04bdbd6e6c6f2cca67b3dd261c11650547dcd4acf4", kill_on_drop: false }`
[INFO] [stdout] 0b1d97c422bad0789ad97c04bdbd6e6c6f2cca67b3dd261c11650547dcd4acf4
